//
//  LQRequestApi.h
//  BaseProject
//
//  Created by 喻飞 on 15/5/21.
//  Copyright (c) 2015年 yuf. All rights reserved.
//

#import <Foundation/Foundation.h>
#import  "MKNetworkEngine.h"
#import "CJSONDeserializer.h"
typedef enum
{
    GS_GS_GetWelcomeImage             ,//000、欢迎页面
    GS_GS_queryAdvertismentById            ,//001、广告
    GS_GS_userLogin           ,//002、登录
    GS_GS_appUserRegister           ,//003、注册
    GS_GS_registerCode          ,//004、注册获取验证码
    GS_GS_updateUserPassword          ,//005、修改密码
    GS_GS_queryOrderExportList          ,//006、出口订单列表
    GS_GS_queryOrderImportList         ,//007、进口订单列表
    GS_GS_queryOrderImportDetail         ,//008、进口订单基本信息
    GS_GS_queryOrderExportDetail         ,//009、出口订单基本信息
    GS_GS_queryOrderExportStatusDetail         ,//010、供应链通关信息 出口
    GS_GS_queryOrderImportStatusDetail         ,//0011、供应链通关信息 进口
    GS_GS_queryOrderImportTransferDetail         ,//0012、进口驳船信息
    GS_GS_queryOrderImportSettleDetail         ,//0013、进口结算信息
    GS_GS_queryOrderImportSeaDetail         ,//0014、进口海运信息
    GS_GS_queryOrderExportSeaDetail         ,//0015、出口海运信息
    GS_GS_queryBillsInfo         ,//0016、出口提单信息
    GS_GS_queryOrderImportTruckDetail         ,//0017、进口货运信息
    GS_GS_queryOrderExportTruckDetail        ,//0018、出口货运信息
    GS_GS_queryOrderImportArriveDetail        ,//0019、进口海关信息
    GS_GS_queryContainerCertification       ,//0020、出口认证信息
    GS_GS_queryContainerCertificationImport       ,//0021、进口认证信息
    GS_GS_exitLogin       ,//0022、退出登录
    GS_GS_forgetPwdCode      ,//0023、忘记密码验证码
    GS_GS_resetPassword     ,//0024、忘记密码找回密码
    GS_GS_queryToCertificationContainerList     ,//0025、我的供应链认证列表
    GS_GS_containerCertification     ,//0026、出口装柜认证
    GS_GS_toCertificationContainer     ,//0027、个人中心装柜认证详情
    GS_GS_addMallShippingAddress     ,//0028、添加收货地址
    GS_GS_queryMallShippingAddress     ,//0029、地址列表
    GS_GS_setDefaultMallShippingAddress     ,//0030、设为默认地址
    GS_GS_deleteMallShippingAddress     ,//0031、删除地址
    GS_GS_updateMallShippingAddress     ,//0032、编辑地址
    GS_GS_queryMallShippingAddressById     ,//0033、查询地址
    GS_GS_queryDefaultMallShippingAddress     ,//0034、查询默认地址
    GS_GS_userFeedbackinfo     ,//0035、联系我们
    GS_GS_queryProjectFaq     ,//0036、使用帮助
    GS_GS_queryStoreForeignType     ,//0037、天天石材展石材分类
    GS_GS_queryStoreForeign     ,//0038、天天石材展石材列表
    GS_GS_queryMallStoreList     ,//0039、石材一条街商家列表
    GS_GS_queryStoreForeignDetail     ,//0040、天天石材展石材详情
    GS_GS_queryStoreForeignImage    ,//0041、天天石材展石材详情广告
    GS_GS_queryStoreForeignMore    ,//0042、天天石材展石材详情更多
    GS_GS_saveUpdateCollectStatus    ,//0043、天天石材展石材详情收藏取消收藏
    GS_GS_queryMallStoreDetail    ,//0044、石材一条街商家详情
    GS_GS_mallCollectStore    ,//0045、石材一条街收藏商家
    GS_GS_canleMallCollectStore    ,//0046、石材一条街取消收藏商家
    GS_GS_queryMallGoodsList    ,//0047、石材一条街商家商品列表
    GS_GS_queryMallGoodsDetail    ,//0048、石材一条街品详情
    GS_GS_addCartByMgooId   ,//0049、石材一条街加入购物车
    GS_GS_mallCollectGoods   ,//0050、石材一条街收藏商品
    GS_GS_canleMallCollectGoods ,//0051、石材一条街取消收藏商品
    GS_GS_saveConfirmOrder ,//0052、石材一条街生成订单
    GS_GS_queryMyOrderList ,//0053、我的订单
    GS_GS_queryCartList ,//0054、我的购物车
    GS_GS_saveAddCartNum ,//0055、我的购物车修改商品数量
    GS_GS_deleteCartGoods ,//0056、我的购物车删除商品
    GS_GS_getAlipayInfo ,//0057、获取支付宝配置信息
    GS_GS_queryMyOrderDetail ,//0058、订单详情
    GS_GS_myMallCollectStoreList ,//0059、收藏的商家列表
    GS_GS_queryCollectStoreForeignList ,//0060、收藏的矿山列表
    GS_GS_deleteCancelMallOrder ,//0061、删除或取消订单
    GS_GS_queryFinacialCompanyList ,//0062、金融服务列表
    GS_GS_queryFinacialCompanyDetail ,//0063、金融服务公司详情
    GS_GS_queryMySupplyChainList ,//0064、申请贷款查询系统单号
    GS_GS_applyForLoan ,//0065、提交申请贷款
    GS_GS_queryMyApplyForLoanList ,//0066、我的申请贷款列表
    GS_GS_queryMyApplyForLoanDetail ,//0067、我的申请贷款详情
    GS_GS_queryCompanyApplyForLoanList ,//0068、我的贷款受理列表
    GS_GS_queryCompanyApplyForLoanDetail ,//0069、我的贷款受理详情
    GS_GS_updateCompanyApplyForLoan ,//0070、我的贷款受理详情受理贷款
    GS_GS_saveFinacialApplyOrder ,//0071、我的贷款受理去放款
    GS_GS_addMallMarketDemand ,//0072、发布标书
    GS_GS_queryMyDemanList ,//0073、我的招标列表
    GS_GS_queryMySupplyList ,//0074、我的投标列表
    GS_GS_queryMallMarketDemandList ,//0075、工程招标列表
    GS_GS_queryDemandDetail ,//0076、工程招标详情
    GS_GS_saveDoingSupply ,//0077、工程招标详情我要投标
    GS_GS_queryMallMarketDemandDetail ,//0078、我的招标招标详情投标单位列表
    GS_GS_queryMySupplyDetail ,//0079、我的投标详情
    GS_GS_updateSupplyStatus ,//0080、我的投标详情取消投标
    GS_GS_queryCategoryList ,//0081、行业资讯分类列表
    GS_GS_queryArticleList ,//0082、行业资讯列表
    GS_GS_saveMarketOrder ,//0083、生成投标订单
    GS_GS_querySupplyedInfo ,//0084、中标单位详情
    GS_GS_queryMemberInfoById ,//0085、个人信息
    GS_GS_updateMember ,//0086、修改个人信息
    GS_GS_queryMallStoreRECList ,//0087、企业推荐
    GS_GS_contactInformation ,//0088、联系方式
    GS_GS_querSourcingsourcingDetail ,//0089、采购寻源
    GS_GS_queryScoreInfo ,//0090、用户积分
    
    
} LQRequestType;

#pragma  mark =============================================
@protocol LQRequestApiDelegate ;

@protocol LQRequestApiDelegate <NSObject>


@optional

//以数组的方式呈现
- (void)fetchDatabaseFinishedFromCache:(NSMutableDictionary*)database withTag:(NSInteger)tag;

- (void)fetchDatabaseFinished:(NSMutableDictionary*)database withTag:(NSInteger )tag;

- (void)fetchDatabaseFailed:(NSError *)error message:(NSString *)message;


@end

@interface LQRequestApi : NSObject

@property (nonatomic) BOOL isQueueRun;

@property (strong, nonatomic) NSMutableDictionary*  userInfo;   //传入的信息字典
@property (strong, nonatomic) NSDictionary*         dictionary; //返回的查询结果
@property (strong, nonatomic) NSError*              error;      //错误信息

@property (weak, nonatomic) id<LQRequestApiDelegate> delegate;

@property (strong, nonatomic) MKNetworkEngine         *  engine; //
@property (nonatomic ,strong) NSString *requestStatus;
@property (nonatomic ,strong) id dataReceiver;
@property   SEL finishSelector;
@property   SEL failSelSelector;


+(MKNetworkEngine *)shareEngine:(NSString *)hostName;
+(MKNetworkEngine *)shareEngine;
+(LQRequestApi *)sharedInstance;


/*   所有接口 调用此方法
 *   dic 传递参数
 *   interface_Path 接口地址
 *   type  POST  GET
 tag 标记
 */
-(void)requestOperationWithDic:(NSMutableDictionary  *)dic  withPath:(NSString *)interface_Path  withHttpType:(NSString *)type  withTag:(NSInteger )tag;
@end
